数据库管理
数据库导入

一、行云管家数据库简介

截止目前,行云管家支持了以下这些数据库的运维审计功能:

数据库 默认端口 数据库版本 数据库工具推荐 行云管家版本
MySQL 3306 所有版本 Navicat Premium、MySQL Shell、MySQL Workbench
SQLyog、MySQL-Front、DataGrip、DBeaver
所有版本
SQLServer 1433 所有版本 Navicat Premium、SSMS、DataGrip、SQLWB、DBeaver 所有版本
Oracle 1521 8i及以上 Navicat Premium、PLSQL、Toad、SQLPlus、DataGrip、DBeaver 所有版本
PostgreSQL 5432 11.7及以上 Navicat Premium、DataGrip、DBeaver 所有版本
Redis 6379 3.2.100及以上 RedisDesktopManager 所有版本
Vertica 5433 7.1.1及以上 DataGrip、DBeaver 所有版本
Hive 9083
10000
2.3.2及以上 beeline、DataGrip、DBeaver 所有版本
RedShift 5439 所有版本 Navicat Premium、DataGrip、DBeaver 所有版本
MongoDB 27017 所有版本 Navicat Premium、Robo 3T 所有版本
GaussDB 5432 GaussDB 200 Navicat Premium 6.2及以上
HANA 30015
50013
HANA2.0 DBeaver 6.4及以上
Gbase 5258 Gbase8a GBaseDataStudio 6.5及以上

行云管家为用户提供了数据库访问的跳板机代理,用户通过跳板机在访问数据库时,所有的SQL语句将被审计记录下来。同时,还可将敏感数据设置为脱敏字段,在查询相关的字段数据时,将进行脱敏处理,保护数据不被泄露。

数据库审计原理:数据库审计提供跳板机访问串的功能,将您真实的用户名密码针对每一个用户进行隐藏,并生成一个临时的用户名与密码;此时并不会暴露数据库的真实密码,用户可以拿到访问串以任意形式去访问数据库;

跳板机(代理机):如果您要导入的数据库和行云管家在同一个局域网内,请使用“中转服务”作为数据库跳板机。如果您要导入的数据库和行云管家不在同一个局域网内,请使用“Proxy”作为数据库代理(Proxy宿主机需要是和数据库在同一个局域网内);

二、导入数据库

在“数据库管理”页面,点击“导入数据库”,在这里可以选择导入云数据库和本地数据库:

  • 注意:无论是本地还是异地或云数据库,都可以使用“导入本地数据库”进行导入。

(1)如果您选择的是导入本地数据库,并且您所要导入的数据库不在如图已有的云账户中,请选择“使用新的云账户”。如果您要导入的数据库在图中的其中一个云账户里,请直接选择该云账户网络。这里以“使用新的云账户”为例;

  • 注意:这里看到的这些云账户就是“主机管理”以及“数据库管理”菜单页面的云账户,主机设备资源以及数据库资源都是以云账户方式导入的;

(2)选择导入方式

在这里可以选择导入方式,可以通过“导入单个数据库”以及“模板文件批量导入”这两方式进行导入,这里以“导入单个数据库”为例;

(3)请为您本次接入的数据库所在网络创建一个名称(为云账户起名称);

(4)请为您本次导入的数据库创建一个名称;

(5)选择数据库代理

用户在行云管家中,通过数据库代理访问目标数据库,并由数据库代理承担SQL指令的拦截、审计、敏感指令告警等职责,在这里需要选择“数据库代理”;

  • 本地数据库:如果您要导入的数据库和行云管家在同一个局域网内,请使用“中转服务”作为数据库代理;

  • 其他数据库:如果您要导入的数据库和行云管家不在同一个局域网内,请使用“Proxy”作为数据库代理(Proxy宿主机需要是和数据库在同一个局域网内);

(6)填写数据库类型

对应不同数据库,请按下述指引来选择“数据库类型”,填写目标数据库地址(IP),填写数据库对应的端口号;

  • (a)MySQL、SQLServer、Oracle、PostgreSQL、Redis、 Redshift、MongoDB:

请选择“数据库类型”,填写目标数据库地址(IP),填写数据库对应的端口号;

  • (b)Hive:

Hive数据库支持用户密码认证、kerberos认证,两种认证方式都需要录入JDBC连接串,根据是单实例部署还是集群部署JDBC连接串不一样:

单实例部署JDBC连接串样例(jdbc:hive2://node1:10000/default;principal=hiveserver2principal)

集群部署JDBC连接串样例(jdbc:hive2://zk1:2181,zk2:2181,zk3:2181/;serviceDiscoveryMode=zooKeeper; zooKeeperNamespace=hiveserver2)。

JDBC连接串中地址如果有服务名,需要替换为具体地址或者在选择的代理机器上配置hosts映射。

Kerberos认证需要录入JDBC连接串、krb5.conf。

krb5.conf以下有样例,kdc、admin_server一般都是服务名,需要将他们配置到所选代理机器的hosts上。

  • (c)Vertica数据库:

Vertica数据库支持用户密码认证、kerberos认证。

如果选择了kerberos认证,则需要录入数据库地址、端口、KerberosServiceName、krb5.conf、用户、principal、keytab。KerberosHostName可为空,KerberosHostName以及krb5.conf中kdc、admin_server需要在代理机器上配置hosts。KerberosServiceName、KerberosHostName在登录vertica后执行以下命令查看 select KERBEROS_CONFIG_CHECK() ;用户为principal对应的vertica用户。

(7)导入完成;

此时可以看到导入完成后的数据库的相关信息;

三、导入云数据库

在“数据库管理”页面,点击“导入数据库”,在这里可以选择导入云数据库,也就是通过云厂商提供的AK方式进行对接来导入云数据库:

  • 注意:当前版本只支持“阿里云”、“腾讯云”、“华为云”(6.4版本支持)通过AK方式导入云数据库,其他云厂商请使用“导入本地数据库”方式进行导入。

(1)如果您选择的是导入云数据库,并且您所要导入的云数据库不在已有的云账户中,请选择“使用新的云账户”;

(2)指定云厂商;

(3)输入对应云厂商的AK;

(4)选择您云厂商里的云数据库;

(5)请为您接入的公有云云账户创建一个名称并完成导入;

此时可以看到导入完成后的数据库的相关信息;

四、数据库代理管理

点击“资源运维”下的“数据库运维”,可以进入“数据库代理”来管理和查看数据库代理情况;